package org.theqcp.wow.model.api;

import java.util.List;

import org.theqcp.wow.model.exceptions.EquipmentNotFoundException;
import org.theqcp.wow.model.exceptions.ServiceUnavailableException;
import org.theqcp.wow.model.items.Equipment;

/**
 * Implemented by interfaces to remote services.
 * 
 * @author angryundead
 *
 */
public interface RemoteEquipmentAPI {
	
	public Equipment getEquipmentByID(String id) throws EquipmentNotFoundException, ServiceUnavailableException, IllegalArgumentException;
	
	public Equipment getEquipmentByID(String id, final ProgressListener listener) throws EquipmentNotFoundException, ServiceUnavailableException, IllegalArgumentException;
	
	public List<Equipment> getEquipmentByName(String name) throws EquipmentNotFoundException, ServiceUnavailableException, IllegalArgumentException;
	
	public List<Equipment> getEquipmentByName(String name, final ProgressListener listener) throws EquipmentNotFoundException, ServiceUnavailableException, IllegalArgumentException;
	
}
